package com.warom.sdg.model;

import java.util.ArrayList;
import java.util.List;

/**
 * 设备类型枚举
 * 用于定义系统支持的各类PLC设备
 */
public enum DeviceType {
    SIEMENS_S7(1, "西门子S7系列", "Siemens S7-1200"),
    OMRON_CP(3, "有人N540", "user-n540"),

    OMRON_CP_4(2, "有人N540_4", "user-n540_4"),
    //粮情分机
    GRAIN_SITUATION_FAN(4, "粮情分机", "Grain Situation Fan");

    private final int id;              // 设备类型ID
    private final String displayName;  // 中文名称
    private final String englishName;  // 英文名称

    DeviceType(int id, String displayName, String englishName) {
        this.id = id;
        this.displayName = displayName;
        this.englishName = englishName;
    }

    public int getId() {
        return id;
    }

    public String getDisplayName() {
        return displayName;
    }

    public String getEnglishName() {
        return englishName;
    }

    /**
     * 根据ID获取设备类型
     * @param id 设备类型ID
     * @return 设备类型，如果找不到返回null
     */
    public static DeviceType getById(int id) {
        for (DeviceType type : values()) {
            if (type.id == id) {
                return type;
            }
        }
        return null;
    }
    
    /**
     * 获取所有设备类型列表
     * @return 设备类型列表
     */
    public static List<DeviceType> getAllDeviceTypes() {
        return new ArrayList<>(List.of(DeviceType.values()));
    }
} 